home *** CD-ROM | disk | FTP | other *** search
- bra Open
- Logo Incbin News
- bitmap1.1 equ Logo
- Bitmap2.1 equ Logo+3440
- Bitmap3.1 equ Logo+6880
- Bitmap4.1 equ Logo+10320
- bitmap1 equ $70000 ;Screen 1 at $70000
- bitmap2 equ $72800 ;Screen 2 at $72800
- ** Try changing the following 5 equates for cool fx! **
-
- sped equ 4 ;Scrolly speed (1,2,4 or 8)
- yspace1 equ 2 ;Sine spacing (Max 512)
- yspeed1 equ 8 ;Sine wibble speed (max 512)
- sinesize equ 140 ;Depth of sinescroller (max 220)
- stoptime EQU 2 ;How many seconds scrolly pauses for!
-
- blitwait macro
- .bw\@ btst #6,2(a6) ;Blitwait macro...
- bne.s .bw\@ ;Wait for blitter to stop
- endm
- Open
- Section Fangs,code_c ;Put everything into chip memory!
- opt c- ;Turn on Case Independant
-
- Start lea variables(pc),a5 ;Variables pointer in A5
- lea custom,a6 ;Custom chip pointer in A6
-
- bsr deselect0 ;Turn off drive 0
- bsr trash ;Trash the operating system
- bsr intcustom ;Init Screen size,modulos etc.
- bsr intbuffer ;Init double buffer!
- bsr makecop ;Make the copper list
- bsr initsine ;Init sinetable!
-
- lea wherecop(pc),a0
- move.l a0,cop1lc(a6) ;Tell system where copper is...
- move.w copjmp1(a6),d0 ;And start it
- move.w #$87e0,dmacon(a6) ;Enable Dma.
- move.w #$20,intreq(a6) ;Clear VBI IRQ bit.
-
- ***********************
- ****** Main loop ******
- ***********************
- .button lea custom,a6
- btst #5,intreqr+1(a6) ;VBI interrupt?
- beq.s .button
- move.w #$20,intreq(a6) ;Clear VBI IRQ bit.
-
- bsr cls ;Clear screen!
- bsr dosine ;Do sine movement!
- blitwait ;Wait for blitter to stop clearing screen!
- bsr scroll ;Scroll message!
- bsr blitsine ;Blit scrolly onto screen
- bsr doublebuffer ;Double buffer the screen
- Btst #7,$bfe001
- Beq Exit
- Btst #10,$dff016
- Beq Exit
- btst #6,$bfe001 ;Is left mouse button pressed?
- bne.s .button
-
- Exit bsr.s untrash ;Bring back operating system
- moveq #0,d0 ;Stop a return error!
- rts
-
- trash bset #1,$bfe001 ;Turn power light off
- move.l $4.w,a6
- lea gfxname(pc),a1
- moveq #0,d0
- jsr -552(a6) ;Open graphics library
- move.l d0,a0
- move.l 38(a0),syscop(a5) ;Store old system copper address!
-
- lea custom,a6
- move.w intenar(a6),d0 ;Get system IRQ register
- or.w #$8000,d0 ;Set top bit (For enable)
- move.w d0,IRQ(a5) ;Store it
- move.w dmaconr(A6),d0 ;Get system DMA register
- or.w #$8000,d0 ;Set top bit (For enable)
- move.w d0,DMA(a5) ;Store it
-
- move.w #$7fff,intena(a6) ;All irq off
- move.w #$7fff,dmacon(A6) ;All dma off
- rts
-
- untrash lea custom,a6
- lea variables(pc),a5
-
- move.w #$7fff,$96(a6) ;Kill DMA
- move.w #$7fff,$9a(a6) ;Kill IRQ
- move.w DMA(a5),dmacon(A6) ;Restore system DMA
- move.w IRQ(a5),intena(a6) ;Restore system IRQ
- move.w #$7fff,intreq(a6)
- clr.w aud0vol(a6)
- clr.w aud1vol(a6)
- clr.w aud2vol(a6)
- clr.w aud3vol(a6) ;Clear volume registers
-
- move.l syscop(a5),d0 ;Get old system copper address
- move.l d0,cop1lc(a6) ;And restore it!
- move.l $4.w,a6
- lea intname(pc),a1
- moveq #0,d0
- jsr -552(a6)
- move.l d0,a6
- jsr -390(a6)
- bclr #1,$bfe001 ;Power light back on
- rts
-
- setmulti move.w d7,(a0)+ ;Copper 32 bit write
- swap d0
- move.w d0,(a0)+
- swap d0
- addq.w #2,d7
- move.w d7,(a0)+
- move.w d0,(a0)+
- addq.w #2,d7
- add.l d5,d0
- dbra d6,setmulti
- rts
-
- intcustom clr.w bplcon1(a6) ;Scroll value
- clr.w bplcon2(a6) ;Priorities
- clr.w bpl1mod(a6) ;Modulo A
- clr.w bpl2mod(a6) ;Modulo B
- move.w #$0038,ddfstrt(a6) ;Data fetch start
- move.w #$00d0,ddfstop(a6) ;Data fetch stop
- move.w #$2c81,diwstrt(a6) ;Window start
- move.w #$2cc1,diwstop(a6) ;Window stop
- rts
-
- makecop lea wherecop(pc),a0 ;Copperlist address
-
- lea wherespr(pc),a1 ;First do sprites..
- move.l a1,d0
- moveq #7,d6 ;8 sprites
- move.w #$120,d7 ;1st register no.
- moveq #16,d5 ;16 bytes per sprite!
- bsr setmulti
-
- move.l a0,changecop(a5) ;Store copper address (For double buffer!)
- move.l logbase(a5),d0 ;Bitmap address
- moveq #1-1,d6 ;1 plane
- move.w #$e0,d7 ;1st register no.
- moveq #0,d5 ;Plane length
- bsr setmulti
-
- move.l #$01001200,(a0)+ ;Set 1 bitplane
- move.l #$01800000,(a0)+ ;Colour 0
- Move.w #$1801,Vpos
- Lea Col_Bank(Pc),a1
- Move.w #29,d1
- Loo Move.w Vpos,(a0)+
- Move.l #$fffe0180,(a0)+
- Move.w (a1)+,d2
- Move.w d2,(a0)+
- Move.w #$0182,(a0)+
- Mulu #$111,d2
- move.w d2,(a0)+
- Add.w #$680,Vpos
- Dbf d1,Loo
- Move.l #$d601fffe,(a0)+
- move.l logoPlace1(a5),d0 ;Bitmap address
- moveq #1-1,d6 ;1 plane
- move.w #$e0,d7 ;1st register no.
- moveq #0,d5 ;Plane length
- bsr setmulti
- move.l logoPlace2(a5),d0 ;Bitmap address
- moveq #1-1,d6 ;1 plane
- move.w #$e4,d7 ;1st register no.
- moveq #0,d5 ;Plane length
- bsr setmulti
- move.l logoPlace3(a5),d0 ;Bitmap address
- moveq #1-1,d6 ;1 plane
- move.w #$e8,d7 ;1st register no.
- moveq #0,d5 ;Plane length
- bsr setmulti
- move.l logoPlace4(a5),d0 ;Bitmap address
- moveq #1-1,d6 ;1 plane
- move.w #$ec,d7 ;1st register no.
- moveq #0,d5 ;Plane length
- bsr setmulti
- Move.l #$01004200,(a0)+
- Move.w #$0180,Vpos
- Lea Logo+4*3440,a1
- Move.w #15,d1
- Lopp Move.w Vpos,(a0)+
- Move.w (a1)+,(a0)+
- Add.w #2,Vpos
- Dbf d1,lopp
- moveq #-2,d0
- move.l d0,(a0)+ ;Wait for the impossible (END!)
- rts
-
- deselect0 lea cia_b,a0
- bset #3,(a0) ;deselect drive 0
- bset #7,(a0) ;switch motor off
- bclr #3,(a0) ;latch motor signal in disk
- rts
-
- ************************************
- *********** END OF SETUP ***********
- ************************************
-
- intbuffer move.l #bitmap1,logbase(a5) ;Init doublebuffer screen 1
- move.l #bitmap2,physbase(a5) ;Init doublebuffer screen 2
- Move.l #bitmap1.1,LogoPlace1(a5)
- Move.l #bitmap2.1,LogoPlace2(a5)
- Move.l #bitmap3.1,LogoPlace3(a5)
- Move.l #bitmap4.1,LogoPlace4(a5)
- rts
-
- doublebuffer
- move.l logbase(a5),d0
- move.l physbase(a5),logbase(a5)
- move.l d0,physbase(a5)
-
- move.l changecop(a5),a0 ;Update copper!
- moveq #0,d6
- move.w #$e0,d7
- moveq #0,d5
- bsr setmulti
- rts
-
- cls moveq #-1,d0
- move.l d0,bltafwm(a6) ;First and last word mask
- clr.w bltcon1(a6) ;No special modes
- clr.w bltdmod(a6) ;D modulo
- move.w #%0000000100000000,bltcon0(a6) ;No minterm just enable d!
-
- move.l logbase(a5),bltdpt(A6) ;Destination
- move.w #(256<<6)!20,bltsize(a6) ;256 high by 20 words wide
- rts
-
- scroll tst.w stop(a5)
- ble.s .ok
- subq.w #1,stop(a5)
- rts
-
- .ok bsr blitshift
- subq.w #sped,scrcount(a5)
- ble.s .gog
- rts
- .gog move.w #16,scrcount(a5) ;Reset counter!
-
- lea text(pc),a2
- move.w messcount(a5),d0 ;Message count
- .again moveq #0,d1
- move.b (a2,d0.w),d1 ;Get char
- bne.s .dlf
- clr.w messcount(a5)
- move.w messcount(a5),d0
- bra.s .again ;Wrap at a zero
-
- .dlf cmp.w #$ff,d1
- bne.s .nstop
- move.w #stoptime*50,stop(a5) ;Trigger stop
- moveq #32,d1
-
- .nstop addq.w #1,messcount(a5) ;Update scroll offset
- lea scrarea+82,a0
- lea font,a1
-
- sub.w #32,d1 ;Ascii conversion!
- .go cmp.w #20,d1
- blt.s .nnl ;Next line of chars?
- lea 40*16(a1),a1 ;Move down a line!
- sub.w #20,d1
- bra.s .go
- .nnl add.w d1,d1
- add.w d1,a1 ;Get to char
-
- moveq #15,d0
- .xloop move.w (a1),(a0) ;Plot char!
- add.w #42,a0
- add.w #40,a1
- dbra d0,.xloop ;Loop for 16 high
- rts
-
- blitshift moveq #-1,d0
- move.l d0,bltafwm(a6)
- clr.w bltamod(a6)
- clr.w bltdmod(a6)
- clr.w bltcon1(a6)
-
- move.w #%0000100100000000!$f0,d0
- moveq #sped,d1
- neg.w d1
- moveq #12,d2
- lsl.w d2,d1 ;Work out speed (shift!)
- or.w d1,d0
- move.w d0,bltcon0(a6) ;D=A Minterm
-
- move.l #scrarea,d0
- move.l d0,bltdpt(A6) ;Destination
- addq.l #2,d0
- move.l d0,bltapt(a6) ;Source
-
- move.w #(17<<6)!20,bltsize(a6)
- blitwait
- rts
-
- blitsine clr.w bltcon1(a6)
- move.w #42-2,bltamod(a6)
- move.w #40-2,bltdmod(a6)
- move.w #40-2,bltbmod(a6)
-
- move.l logbase(a5),d0
- move.l d0,bltbpt(a6) ;Init destination pointers!
- move.l d0,bltdpt(a6)
-
- lea masklook(pc),a0
- lea scrpos(pc),a1
- move.l #scrarea+42,a2
- move.l a2,bltapt(a6) ;Init source pointer!
- lea bltafwm(a6),a3
- lea bltsize(a6),a4
- move.l a7,stacksave(a5) ;Save stack!
- lea bltdpt+2(a6),a7
- lea bltapt+2(a6),a5
-
- moveq #20-1,d7 ;20 words
- move.w #(16<<6)!1,d6
- move.w #%0000100100000000!$f0,d5
- move.w #%0000110100000000!$fc,d4
-
- .loop move.w d5,bltcon0(a6) ;D=A
- move.w (a0)+,(a3) ;First word mask
- move.w a2,(a5) ;Source
- move.w (a1)+,(a7) ;Destination
- move.w d6,(a4) ;Blitsize
- blitwait
-
- move.w d4,bltcon0(a6) ;D=A+B
- rept 15
- move.w (a0)+,(a3) ;First word mask
- move.w a2,(a5) ;Source
- move.w (a1),bltbpt+2(a6) ;Destination
- move.w (a1)+,(a7) ;Destination
- move.w d6,(a4) ;Blitsize
- blitwait
- endr
-
- addq.w #2,a2 ;Next word along!
- dbra d7,.loop
-
- lea variables(pc),a5
- move.l stacksave(a5),sp
- rts
-
- initsine lea originalsine(pc),a0
- move.w #511,d0
- .loop1 sub.w #128,(a0)+ ;Init original sine
- dbra d0,.loop1
-
- lea originalsine(pc),a0
- lea sine1(pc),a1
- move.w #511,d0
- .loop2 move.w (a0)+,d1
- muls.w #sinesize,d1 ;Size!
- asr.w #8,d1
- add.w #sinesize/2,d1
- mulu.w #40,d1 ;Multiple of 40!
- move.w d1,(a1)+ ;Make sinetable!
- dbra d0,.loop2
- rts
-
- dosine lea sine1(pc),a0
- lea scrpos(pc),a1
- move.l logbase(a5),a3
- moveq #20-1,d7 ;20 words wide!
- move.w sinestart1(a5),d0
- move.w #1022,d3
- move.w #yspace1,d4
- .loop
- rept 16
- and.w d3,d0
- move.w (a0,d0.w),d2
- lea (a3,d2.w),a2 ;Add offset 1
- add.w d4,d0 ;Spacing 1
- move.w a2,(a1)+ ;Scroll position!
- endr
-
- addq.w #2,a3 ;Next word along!
- dbra d7,.loop
- sub.w #yspeed1,sinestart1(a5)
- rts
-
-
- *** Equates and data below! ***
-
- custom EQU $dff000
- bltddat EQU $000
- dmaconr EQU $002
- vposr EQU $004
- vhposr EQU $006
- dskdatr EQU $008
- joy0dat EQU $00A
- joy1dat EQU $00C
- clxdat EQU $00E
- adkconr EQU $010
- pot0dat EQU $012
- pot1dat EQU $014
- potinp EQU $016
- serdatr EQU $018
- dskbytr EQU $01A
- intenar EQU $01C
- intreqr EQU $01E
- dskpt EQU $020
- dsklen EQU $024
- dskdat EQU $026
- refptr EQU $028
- vposw EQU $02A
- vhposw EQU $02C
- copcon EQU $02E
- serdat EQU $030
- serper EQU $032
- potgo EQU $034
- joytest EQU $036
- strEQU EQU $038
- strvbl EQU $03A
- strhor EQU $03C
- strlong EQU $03E
- bltcon0 EQU $040
- bltcon1 EQU $042
- bltafwm EQU $044
- bltalwm EQU $046
- bltcpt EQU $048
- bltbpt EQU $04C
- bltapt EQU $050
- bltdpt EQU $054
- bltsize EQU $058
- bltcmod EQU $060
- bltbmod EQU $062
- bltamod EQU $064
- bltdmod EQU $066
- bltcdat EQU $070
- bltbdat EQU $072
- bltadat EQU $074
- dsksync EQU $07E
- cop1lc EQU $080
- cop2lc EQU $084
- copjmp1 EQU $088
- copjmp2 EQU $08A
- copins EQU $08C
- diwstrt EQU $08E
- diwstop EQU $090
- ddfstrt EQU $092
- ddfstop EQU $094
- dmacon EQU $096
- clxcon EQU $098
- intena EQU $09A
- intreq EQU $09C
- adkcon EQU $09E
- aud0lc EQU $0A0
- aud1lc EQU $0b0
- aud2lc EQU $0c0
- aud3lc EQU $0d0
- aud0len EQU $a4
- aud1len EQU $b4
- aud2len EQU $c4
- aud3len EQU $d4
- aud0per EQU $a6
- aud1per EQU $b6
- aud2per EQU $c6
- aud3per EQU $d6
- aud0vol EQU $a8
- aud1vol EQU $b8
- aud2vol EQU $c8
- aud3vol EQU $d8
- aud0dat EQU $aa
- aud1dat EQU $ba
- aud2dat EQU $ca
- aud3dat EQU $da
- bpl1pth EQU $0E0
- bpl2pth EQU $0E4
- bpl3pth EQU $0E8
- bpl4pth EQU $0EC
- bpl5pth EQU $0F0
- bpl6pth EQU $0F4
- bplcon0 EQU $100
- bplcon1 EQU $102
- bplcon2 EQU $104
- bpl1mod EQU $108
- bpl2mod EQU $10A
- bpldat EQU $110
- sprpt EQU $120
- spr EQU $140
- sd_pos EQU $00
- sd_ctl EQU $02
- sd_dataa EQU $04
- sd_datab EQU $08
- color00 EQU $180
- color01 EQU $182
- color02 EQU $184
- color03 EQU $186
- color04 EQU $188
- color05 EQU $18a
- color06 EQU $18c
- color07 EQU $18e
- color08 EQU $190
- color09 EQU $192
- color10 EQU $194
- color11 EQU $196
- color12 EQU $198
- color13 EQU $19a
- color14 EQU $19c
- color15 EQU $19e
- color16 EQU $1a0
- color17 EQU $1a2
- color18 EQU $1a4
- color19 EQU $1a6
- color20 EQU $1a8
- color21 EQU $1aa
- color22 EQU $1ac
- color23 EQU $1ae
- color24 EQU $1b0
- color25 EQU $1b2
- color26 EQU $1b4
- color27 EQU $1b6
- color28 EQU $1b8
- color29 EQU $1ba
- color30 EQU $1bc
- color31 EQU $1be
- diskreg EQU $bfd100
- keydat EQU $bfec01
- keyint EQU $bfed01
- ctrla EQU $bfee01
- ctrlb EQU $bfef01
- ciatl EQU $bfe401
- ciath EQU $bfe501
- cia_a EQU $bfe001 ;disk input bits
- cia_b EQU $bfd100 ;disk output bits
-
- intname dc.b "intuition.library",0
- gfxname dc.b "graphics.library",0
- even
-
- text DC.B ' INNER CITY ',$FF
- DC.B ' PRESENTS ',$FF
- DC.B ' DOCUMENTS DISK #2 ',$FF
- DC.B 'CREDITS GOTO THE FOLLOWING MEMBERS '
- DC.B ' CODING! ',$FF
- DC.B ' FANGS ',$FF
- DC.B ' GRAPHIX ',$FF
- DC.B ' EDDIE ',$FF
- DC.B 'ALL DOCUMENTS COLLECTED BY'
- DC.B ' POD ',$FF
- DC.B 'AND NOW FOR THE MEMBERS LIST'
- DC.B ' ADS ',$FF
- DC.B 'MANAGEMENT + FOUNDER + ORIGINALS SUPPLIER + SWAPPER'
- DC.B ' CASP ',$FF
- DC.B 'MUSICIAN'
- DC.B ' POD ',$FF
- DC.B 'MANAGEMENT + SWAPPER'
- DC.B ' ENGINEER ',$FF
- DC.B 'MODEM TRADER'
- DC.B ' AXL ',$FF
- DC.B 'SPECIAL ASSIGNMENTS'
- DC.B ' DAX ',$FF
- DC.B 'CODER'
- DC.B ' HOTWIRE ',$FF
- DC.B 'CODER'
- DC.B ' Q.E.D ',$FF
- DC.B 'CRACKER + CODER'
- DC.B ' RORSCHACH ',$FF
- DC.B 'SWAPPER'
- DC.B ' ALMANAC ',$FF
- DC.B 'SWAPPER'
- DC.B ' DENNIS ',$FF
- DC.B 'GRAPHIX + VIDEO SWAPPER'
- DC.B ' TNT ',$FF
- DC.B 'MUSICIAN '
- DC.B ' DOMINO ',$FF
- DC.B 'SWAPPER + VIDEO SWAPPER'
- DC.B ' RICK ',$FF
- DC.B 'SWAPPER + VIDEO SWAPPER'
- DC.B ' FANGS ',$FF
- DC.B 'CODER + SWAPPER'
- DC.B ' CRAZY LEGS ',$FF
- DC.B 'GRAPHIX'
- DC.B ' KID VIDEO ',$FF
- DC.B 'ORIGINAL SUPPLIER + VIDEO SWAPPER'
- DC.B ' SUKY ',$FF
- DC.B 'ORIGINAL SUPPLIER'
- DC.B ' EDDIE ',$FF
- DC.B 'GRAPHIX '
- DC.B 'AND NOW FOR THE SUPER HOT GREETINGS ... '
- DC.B ' TEKNO TISKE ',$FF
- DC.B ' JROK 90 ',$FF
- DC.B ' ZARCH ',$FF
- DC.B ' COSY ',$FF
- DC.B ' DEMOLISHER ',$FF
- DC.B ' PIE ',$FF
- dc.b ' DUG ',$FF
- DC.B ' MOSES ',$FF
- DC.B ' WIZOID ',$FF
- DC.B ' N.R.G ',$FF
- DC.B ' BILL ',$FF
- DC.B ' JAILER / FOCUS ',$FF
- DC.B ' OMEGA ONE ',$FF
- DC.B ' DESTINY ',$FF
- DC.B ' SNOWMAN ',$FF
- DC.B ' FRED ',$FF
- DC.B ' STEVE ',$FF
- DC.B ' RANDOM ',$FF
- DC.B ' SLIPSTREAM ',$FF
- DC.B ' THR ',$FF
- DC.B ' EXTREAM ',$FF
- DC.B ' PENDEL EUROPA ',$FF
- DC.B ' SILENTS ',$FF
- DC.B ' MAYHEM ',$FF
- DC.B ' QUARTEX ',$FF
- DC.B ' ALCATRAZ ',$FF
- DC.B ' CONQUEROR + ZIKE ',$FF
- DC.B ' FAIRLIGHT ',$FF
- DC.B ' VANDAL AND STATIC ',$FF
- DC.B ' MAGNETIC FIELDS ',$FF
- DC.B ' REBELS ',$FF
- DC.B ' CRUSADERS ',$FF
- DC.B ' PARADOX ',$FF
- DC.B 'PLUS ALL THE REST I HAVE MISSED '
- DC.B ' WRAP ',$FF
- even
-
- originalsine
- DC.w 128,129,131,132,134,135,137,138,140,142,143,145,146,148,149
- DC.w 151,152,154,156,157,159,160,162,163,165,166,168,169,171,172
- DC.w 174,175,176,178,179,181,182,184,185,186,188,189,191,192,193
- DC.w 195,196,197,199,200,201,202,204,205,206,207,209,210,211,212
- DC.w 213,215,216,217,218,219,220,221,222,223,224,225,226,227,228
- DC.w 229,230,231,232,233,234,235,236,236,237,238,239,240,240,241
- DC.w 242,243,243,244,245,245,246,246,247,247,248,249,249,250,250
- DC.w 250,251,251,252,252,252,253,253,253,254,254,254,254,255,255
- DC.w 255,255,255,255,255,255,255,255,256,255,255,255,255,255,255
- DC.w 255,255,255,255,254,254,254,254,253,253,253,252,252,252,251
- DC.w 251,250,250,250,249,249,248,247,247,246,246,245,245,244,243
- DC.w 243,242,241,240,240,239,238,237,236,236,235,234,233,232,231
- DC.w 230,229,228,227,226,225,224,223,222,221,220,219,218,217,216
- DC.w 215,213,212,211,210,209,207,206,205,204,202,201,200,199,197
- DC.w 196,195,193,192,191,189,188,186,185,184,182,181,179,178,176
- DC.w 175,174,172,171,169,168,166,165,163,162,160,159,157,156,154
- DC.w 152,151,149,148,146,145,143,142,140,138,137,135,134,132,131
- DC.w 129,127,126,124,123,121,120,118,117,115,113,112,110,109,107
- DC.w 106,104,103,101,99,98,96,95,93,92,90,89,87,86,84
- DC.w 83,81,80,79,77,76,74,73,71,70,69,67,66,64,63
- DC.w 62,60,59,58,56,55,54,53,51,50,49,48,46,45,44
- DC.w 43,42,40,39,38,37,36,35,34,33,32,31,30,29,28
- DC.w 27,26,25,24,23,22,21,20,19,19,18,17,16,15,15
- DC.w 14,13,12,12,11,10,10,9,9,8,8,7,6,6,5
- DC.w 5,5,4,4,3,3,3,2,2,2,1,1,1,1,0
- DC.w 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- DC.w 0,0,0,0,0,1,1,1,1,2,2,2,3,3,3
- DC.w 4,4,5,5,5,6,6,7,8,8,9,9,10,10,11
- DC.w 12,12,13,14,15,15,16,17,18,19,19,20,21,22,23
- DC.w 24,25,26,27,28,29,30,31,32,33,34,35,36,37,38
- DC.w 39,40,42,43,44,45,46,48,49,50,51,53,54,55,56
- DC.w 58,59,60,62,63,64,66,67,69,70,71,73,74,76,77
- DC.w 79,80,81,83,84,86,87,89,90,92,93,95,96,98,99
- DC.w 101,103,104,106,107,109,110,112,113,115,117,118,120,121,123
- DC.w 124,126
-
- sine1 ds.w 512
-
- masklook
- rept 20
- dc.w %1000000000000000
- dc.w %0100000000000000
- dc.w %0010000000000000
- dc.w %0001000000000000
- dc.w %0000100000000000
- dc.w %0000010000000000
- dc.w %0000001000000000
- dc.w %0000000100000000
- dc.w %0000000010000000
- dc.w %0000000001000000
- dc.w %0000000000100000
- dc.w %0000000000010000
- dc.w %0000000000001000
- dc.w %0000000000000100
- dc.w %0000000000000010
- dc.w %0000000000000001
- endr
-
- shftlook dc.w $09f0,$19f0,$29f0,$39f0,$49f0,$59f0,$69f0,$79f0
- dc.w $89f0,$99f0,$a9f0,$b9f0,$c9f0,$d9f0,$e9f0,$f9f0
-
- scrpos ds.w 320
-
- rsreset
- syscop rs.l 1
- irq rs.w 1
- dma rs.w 1
- physbase rs.l 1
- logbase rs.l 1
- changecop rs.l 1
- scrcount rs.w 1
- stop rs.w 1
- messcount rs.w 1
- LogoPlace1 Rs.l 1
- LogoPlace2 Rs.l 1
- LogoPlace3 Rs.l 1
- LogoPlace4 Rs.l 1
- Vpos Rs.w 0
- Col_bank dc.w 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
-
- sinestart1 rs.w 1
- stacksave rs.l 1
-
- varisize rs.w 0
- Variables dcb.b varisize,0
-
- wherespr dcb.b 16*8,0 ;128 bytes for hardware sprites
- wherecop dcb.b 2000,0 ;2k for copper list
- **************************
- section bud,data_c
- font incbin FONT.RAW
-
- section cake,bss_C
- scrarea ds.b 42*20
-